package pl.edu.agh.soa.monitoring.router;

import java.util.List;
import java.util.Map;

import pl.edu.agh.soa.monitoring.cep.EventInfo;
import pl.edu.agh.soa.monitoring.router.entry.DynamicRouterEntry;

public interface IDynamicRouter {
	public Map<String, List<DynamicRouterEntry>> getRoutingMap();
	
	public void addAddresses(String statementID, DynamicRouterEntry entry);
	
	public void removeAddress(String statementID, DynamicRouterEntry entry);
	public void removeAddresses(String statementID);
	
	//TODO dodac epser-2.3.0 do dependencji recznie oraz przerobic
	//metodke acquireMetric
	public void enableMetric(String statementID);
	public void disableMetric(String statementID);
	public void acquireMetric(String statementID);
	
	public void enableLogging();
	public void disableLogging();
	
	public void eventCatched(String statementID, EventInfo eventInfo);
	
}
